const db = require("../db");
const bcrypt = require("bcryptjs");

// 初始用户模型
module.exports = db.defineModel("users", {
  username: db.STRING(100), // 用户名
  email: db.STRING(100), // 用户邮箱
  password: {
    type: db.STRING,
    allowNull: true,
    set(val) {
      // 加密
      const salt = bcrypt.genSaltSync(10);
      // 生成加密密码
      const psw = bcrypt.hashSync(val, salt);
      this.setDataValue("password", psw);
    },
  },
  // 身份认证令牌
  token: {
    type: db.STRING(500),
    allowNull: true,
  },
});
